#pragma once

#include <map>
#include <vector>
#include <string>

struct Event
{
	Event(size_t i_minute, const std::string& i_msg)
		:minute(i_minute)
		,message(i_msg)
	{
	}

	size_t		minute;
	std::string message;
};
typedef std::vector<Event>	EventCollection;
typedef std::map<std::string, std::vector<std::string>> EventMap;

class EventGenerator
{
public:
	explicit EventGenerator(const std::string& i_filename);
	std::string RandomEventMessageInCategory(const std::string& i_category, const std::string& i_name) const;

private:
	void ParseEventMessages(const std::string& i_filename);

	EventMap m_eventMessages;
};
